package com.mida.bms.report.service;

import com.mida.bms.report.entity.DocStructTemplateInfo;
import com.mida.bms.report.vo.DocStructTemplateAuthBatchVo;
import com.mida.bms.report.vo.DocStructTemplateInfoVo;
import com.mida.bms.report.vo.PageResultVo;
import com.mida.tool.common.result.ActionResult;
import com.mida.tool.common.result.ListResult;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

public interface DocStructTemplateInfoService {

    /**
     * 添加模版基本信息
     * @param docStructTemplateInfoVo
     * @return
     * @throws Exception
     */
    ActionResult addDocStructTemplateInfo(DocStructTemplateInfoVo docStructTemplateInfoVo) throws Exception;

    /**
     * 更新模版基本信息
     * @param docStructTemplateInfoVo
     * @return
     * @throws Exception
     */
    ActionResult updateDocStructTemplateInfo(DocStructTemplateInfoVo docStructTemplateInfoVo) throws Exception;

    /**
     * 逻辑删除模版基本信息
     * @param stTemplateInfoSoid
     * @return
     * @throws Exception
     */
    ActionResult deleteDocStructTemplateInfo(Long stTemplateInfoSoid) throws Exception;

    /**
     * 查询模板分页列表处理
     * @param docStructTemplateInfoVo
     * @return
     */
    PageResultVo<DocStructTemplateInfo> getDocStructTemplateInfoPage(
            DocStructTemplateInfoVo docStructTemplateInfoVo) throws Exception;

    /**
     * 根据模板soid查询模版数据
     * @param stTemplateInfoSoid
     * @return
     * @throws Exception
     */
    ListResult getDocStructTemplateInfo(Long stTemplateInfoSoid) throws Exception;

    /**
     * 查询可授权模板列表分页列表处理
     * @param docStructTemplateAuthBatchVo
     * @return
     */
    PageResultVo<DocStructTemplateInfo> getAuthSpaceDocStructTemplateInfoPage(
            DocStructTemplateAuthBatchVo docStructTemplateAuthBatchVo) throws Exception;

    /**
     * 查询可授权模板列表处理
     * @param docStructTemplateAuthBatchVo
     * @return
     * @throws Exception
     */
    List<DocStructTemplateInfo> getAuthSpaceDocStructTemplateInfoList(
            DocStructTemplateAuthBatchVo docStructTemplateAuthBatchVo) throws Exception;
}
